Vivado下时序逻辑模块的仿真

您所在的位置:网站首页 vivado rtl文件 Vivado下时序逻辑模块的仿真

Vivado下时序逻辑模块的仿真

2023-06-11 13:20| 来源: 网络整理| 查看: 265

文章目录 D触发器两级D触发器带异步复位的D触发器带异步复位和同步置数的D触发器移位寄存器单口RAM伪双口RAM真双口RAM单口ROM

组合逻辑电路在逻辑功能上特点是任意时刻的输出仅仅取决于当前时刻的输入,与电路原来的状态无关。 时序逻辑在逻辑功能上的特点是任意时刻的输出不仅仅取决于当前的输入信号,而且还取决于电路原来的状态。 本文中的例子中模块名都是timing,仿真测试文件中的模块名都是sim_timing。

D触发器

D触发器在时钟的上升沿或下降沿存储数据,其输出与时钟跳变之前输入信号的状态相同。 D触发器的设计源代码如下。

module timing(clk,d,q); input clk; input d; output reg q; always@(posedge clk) begin q $random}%100) d = ~d; end end always #10 clk = ~clk; timing uut_timing( .clk(clk), .d(d), .rst(rst), .q(q) ); endmodule

带异步复位的D触发器的仿真输出结果如下图所示。 在这里插入图片描述 由上图输出结果可以看到,当复位信号有效时,输出q即刻置为0,尽管d不为0。 带异步复位的D触发器的RTL图如下。 在这里插入图片描述

带异步复位和同步置数的D触发器

带异步复位D触发器中的复位独立与时钟,同步置数则有别于异步复位,它同步于时钟信号,这里的同步置数可以置1、置0或置高阻状态等,根据电路的需要设定。 需要注意的是,同步操作不能把信号放到敏感列表里,也就是always语句后的括号里。 带异步复位和同步置数的D触发器的设计源代码如下。

module timing(clk,rst,set_num,d,q); input clk; input rst; input set_num; input d; output reg q; always@(posedge clk or negedge rst) begin if(!rst) q


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3